<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
// [js] 举例子说说你对js隐式类型转换的理解

js在做运算时，如果两边数据不一样，编译器会自动做一个数据转换再进行比较

转换规则

字符串连接符(+)，转换为String
2.关系运算符(>,<,>=,<=,==,===,!==)、算术运算符号(+,-,*,/,%,++,--)，转换为Number
3.逻辑非运算符(!)，转换为Boolean
特殊点：
1.数组、对象等复杂数据类型在隐式转换时会先使用valueOf()获取其原始值，如果原始值不是Number则调用toString()转成Sting，再转成Number

2.Boolean转换在以下几种情况下为false：
0，-0，NaN，undefined，""，null，[]，false

3.undefined与null的特殊情况
undefined == undefined // true
undefined == null // true
null == null // true

4.NaN与任何数据比较都是false，包括自己 // 六亲不认的步伐
</script>
</html>